﻿
using KinectWindowLib.NuiControls;

using KinectWindows.Math;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KinectWindows.Nui
{
    // detect skelton Postion to camera
    public interface ISkeleton
    {
        // Skeleton in stage
        void OnSkeletonInStage(Vector2 point);

        // Skeleton out stage
        void OnSkeletonOutStage(Vector2 point);
    }
    // Contain the call backs related to The Nui Controls
    public interface INuiable
    {
        // If Right hand in Control
        void OnRightHandInside(NuiWidget control);

        // If Left hand in Control
        void OnLeftHandInside(NuiWidget control);

        // If Left hand in Control
        void OnLeftHandOutside(NuiWidget control);

        // If Left hand in Control
        void OnRightHandOutside(NuiWidget control);



    }
    // Detect Gesture
    public interface IGesturable
    {
        // On Swipe Right hand
        void OnSwipeRightHand();
        // On Swipe Left hand;
        void OnSwipeLefthand();
        // On Wave Detected
        void OnWave();
        // On Holdhand



    }
    // Detect HandMotion
    public interface IHandMotion
    {
        // When left hand moves Up
        void OnLefthandMovedUp();
        // When left hand moves Down
        void OnLefthandMovedDown();
        // When left hand moves Right
        void OnLefthandMovedRight();
        // When left hand moves Left
        void OnLefthandMovedLeft();
        // When Right hand Moves up
        void OnRighthandMovedUp();
        // When Right hand Moves down
        void OnRighthandMovedDown();
        // When Right hand Moves right
        void OnRighthandMovedRight();
        // When Right hand Moves left
        void OnRighthandMovedLeft();

    }

}
